﻿using System.Collections.Generic;

namespace SecurityModule
{
    internal class ExpectedAssemblyDetails
    {
        public IReadOnlyDictionary<string, Item> Data { get; set; }
        private ExpectedAssemblyDetails()
        {
            Data = new Dictionary<string, Item>
                {
                    { "SecurityModule.dll", new Item("59D45DED75239E8D",null)},
                    { "SecurityClient.dll", new Item("6D5EBB07D711C872","08F03C441E23BA665DB479367073B4681A168220")},
                    { "SecurityInterface.dll", new Item("35CA8EDE61B51D4E",null)},
                    { "FileHelpers.dll", new Item("3E0C08D59CC3D657",null)},
                    { "HtmlAgilityPack.dll", new Item("BD319B19EAF3B43A",null)},
                    { "Newtonsoft.Json.dll", new Item("30AD4FE6B2A6AEED",null)},
                };
        }

        public static ExpectedAssemblyDetails Instance
        {
            get
            {
                return _instance ?? (_instance = new ExpectedAssemblyDetails());
            }
        }

        private static ExpectedAssemblyDetails _instance;

        internal class Item
        {
            public string PublicKeyToken { get; private set; }
            public string SHA1Hash { get; private set; }

            public Item(string publicKeyToken, string sha1Hash)
            {
                SHA1Hash = sha1Hash;
                PublicKeyToken = publicKeyToken;
            }
        }
    }
}